﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.ModelBinding;
using System.Web.UI;
using System.Web.UI.WebControls;
using Box.BL;
using Microsoft.Practices.Unity;
using Box.Entities;
namespace Box.Cliente.Administracion.Bancos
{
    public partial class frmBanco : System.Web.UI.Page
    {
        [Dependency]
        public IBancoBL bancoBL { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                var acc = Request.QueryString["acc"];
                var id = Request.QueryString["id"];

                if (acc == null)
                {
                    Response.Redirect("frmListBanco.aspx");
                }
                if (acc != null && id != null && acc == "editar")
                {
                    var identificador = Int32.Parse(id);

                    var banco = bancoBL.GetFromBancosById(identificador);
                    txtId.Text = banco.Id.ToString();
                    txtNombre.Text = banco.NombreBanco;
                    txtDescripcion.Text = banco.DescripcionBanco;

                }
                else if (acc != null && id != null && acc == "eliminar")
                {
                    var identificador = Int32.Parse(id.ToString());
                    DeleteBanco(identificador);
                }

            }
        }

        public void DeleteBanco(Int32 id)
        {
            bancoBL.RemoveBanco(id);
            Response.Redirect("frmListBanco.aspx");
        }

        protected void btnLimpiar_Click(object sender, EventArgs e)
        {

            Response.Redirect("frmListBanco.aspx");
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            var acc = Request.QueryString["acc"];
            var banco = new Banco()
            {
                NombreBanco = txtNombre.Text,
                DescripcionBanco = txtDescripcion.Text
            };

            if (acc == "new")
            {
                if (txtNombre.Text != string.Empty && txtDescripcion.Text != string.Empty)
                {
                    bancoBL.AddBanco(banco);
                    Response.Redirect("frmListBanco.aspx");
                } ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Debe Llenar Todos los Campos')", true);

            }
            else if (acc == "editar")
            {

                banco.Id = int.Parse(txtId.Text);
                if ((txtNombre.Text != string.Empty && txtDescripcion.Text != string.Empty))
                {
                    bancoBL.UpdateBanco(banco);
                    Response.Redirect("frmListBanco.aspx");
                }

                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Debe Llenar Todos los Campos')", true);
 
            }

        }
    }
}